// cloudfunctions/loginUser/index.js
'use strict';
exports.main = async (event, context) => {
  // 接收登录页传的参数
  console.log('login event : ', event);
  const db = uniCloud.database();
  const accountCollection = db.collection('Accounts');

  // 1. 基础参数校验
  const { username, password } = event;
  if (!username || !password) {
    return {
      code: -1,
      msg: '用户名和密码不能为空'
    };
  }

  // 2. 查询Accounts集合（匹配name字段，适配addUser插入的数据）
  const userRes = await accountCollection.where({
    name: username,    // 关键：查询name字段而非username
    password: password // 与addUser插入的明文密码匹配
  }).get();

  // 3. 登录结果判断
  if (userRes.data.length === 0) {
    return {
      code: -1,
      msg: '用户名或密码错误'
    };
  }

  // 登录成功：更新最后登录时间和登录次数
  const userData = userRes.data[0];
  await accountCollection.doc(userData._id).update({
    last_login_time: new Date().getTime(),
    login_count: userData.login_count + 1
  });

  // 4. 返回登录成功结果
  return {
    code: 200,
    msg: '登录成功',
    data: {
      _id: userData._id,
      username: userData.name, // 统一返回username字段给登录页
      user_id: userData.user_id
    }
  };
};
